package edu.mis.modules.product;

import java.util.List;

import com.jfinal.plugin.activerecord.Record;

import edu.mis.model.Product;

/**
 * 产品服务类
 *
 */
public class ProductService {
	
	/**
	 * 添加产品
	 * @param product
	 * @return
	 */
	public int add(Product product){		
		if(product.findProductByProductNumber(product.getProductNumber())!=null){
			if(product.findProductByProductName(product.getProductName())!=null) {
				//产品名和产品编号重复
				return 0;
			}
			else {
				//产品编号重复
				return 1;
			}	
		}else {
			if(product.findProductByProductName(product.getProductName())!=null) {
				//产品名重复
				return 2;
			}
			else {
				product.save();
				//添加产品成功
				return 3;
			}		
		}
		
	}
	
	/**
	 * 修改产品编号
	 * @param productNumber
	 * @return
	 */
	public boolean updateProductNumber(int productId,int productNumber){
		Product product = findProductByProductId(productId);
		product.setProductNumber(productNumber);
		return product.update();
	}
	
	
	
	/**
	 * 根据ID得到产品
	 * @param id
	 * @return
	 */
	public Product findProductByProductId(int productId) {
		return Product.dao.findById(productId);
	}
	
	/**
	 * 查询所有产品
	 * @return
	 */
	public List<Product> findAllProduct(){
		return Product.dao.findAll();
	}
	/**
	 * 查询所有产品及其类别
	 * @return
	 */
	public List<Record> findAllProductWithVariety(){
		return Product.dao.findAllRecord();
	}

	/**
	 * 产品授予类别
	 * @param productId
	 * @param varietyId
	 * @return
	 */
	public boolean productAuthorize(int productId, int varietyId) {
		Product product = findProductByProductId(productId);
		product.setVarietyId(varietyId);
		return product.update();
	}
	
	/**
	 * 删除产品
	 * @param productId
	 * @return
	 */
	public boolean deleteProductyByProductId(int productId) {
		return Product.dao.deleteById(productId);
	}
	
	
}
